stubr 0.3.4

Wiremock implemented in Rust
Documentation

This crate proposes a reimplementation of Wiremock. Its aims at converting Wiremock stubs into wiremock-rs mocks.

use it

use stubr::{Stubr, Config};
use surf;

#[async_std::main]
async fn main() {
// supply a directory containing json stubs. Invalid files are just ignored
let srv = Stubr::start("tests/stubs").await;
// or just mount a single file
let srv = Stubr::start("tests/stubs/ping.json").await;
// or configure it
let srv = Stubr::start_with("tests/stubs", Config { port: Some(8080), ..Default::default() }).await;
// can also be used in a blocking way
let srv = Stubr::start_blocking("tests/stubs");
let srv = Stubr::start_blocking_with("tests/stubs", Config { port: Some(8080), ..Default::default() });

// use '.uri()' method to get server address
surf::get(srv.uri()).await;
}

configuration

A Stubr server can be configured globally thanks to Config struct.

use stubr::Config;
let config = Config {
// server port, defaults to random
port: Some(8080),
// enable verbose logs
verbose: Some(true),
// global delay in milliseconds. Supersedes any locally defined one.
global_delay: Some(2000),
// delay in milliseconds added to any locally defined one. Simulates network latencies.
latency: Some(2000),
};